package cn.iocoder.yudao.module.pay.bank.vo;

import cn.iocoder.yudao.framework.common.validation.Mobile;
import cn.iocoder.yudao.framework.validation.BankCard;
import cn.iocoder.yudao.framework.validation.CitizenIdCard;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Schema(description = "银行卡新增 Request VO")
@Data
public class AppPayBankCreateReqVO {

    @Schema(description = "持卡人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "山野羡民")
    private String realName;

    @Schema(description = "银行卡号", requiredMode = Schema.RequiredMode.REQUIRED, example = "6222807102671159575")
    @BankCard
    private String cardNo;

    @Schema(description = "开户银行地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "中国建设银行股份有限公司贵州大学支行")
    private String cardAddress;

    @Schema(description = "银行名称", example = "中国建设银行")
    private String cardName;

    @Schema(description = "银行预留手机号码", example = "15285116029")
    @Mobile
    private String mobile;

    @Schema(description = "身份证号码，需要用来实名注册第三方分账商户号", example = "522426199*1104****")
    @CitizenIdCard
    private String eidNo;

    @Schema(description = "是否默认", example = "false")
    private Boolean isDefault;

}
